home *** CD-ROM | disk | FTP | other *** search
/ Chip 2003 December / CMCD1203.ISO / Software / Freeware / Grafica / advem / aemf10.exe / {app} / templates / jsmatriximage.jst < prev    next >
Text File  |  2003-09-29  |  3KB  |  104 lines

  1. <SCRIPT language="JavaScript">
  2.  
  3. // MATRIX BACKGROUND ANIMATION
  4. // By: BRIAN GOSSELIN OF http://scriptasylum.com
  5. // V1.0
  6. // Permission granted to use this script in your webpage provided the
  7. // credit remain intact.
  8.  
  9. //GLYPH IMAGE FILE NAMES.
  10. var glyphs_b=glyphs;
  11.  
  12. var glyphCount={gcount};
  13. var scrollSpeed={sspeed};
  14. var glyphD={imdims};
  15. var disableColors=false;
  16. var matrbr = {matrbr};
  17. var matrno = {matrno};
  18.  
  19. //************ DO NOT EDIT BEYOND HERE *************\\
  20.  
  21. var w3c=(document.getElementById)?true:false;
  22. var ns4=(document.layers)?true:false;
  23. var ie4=(document.all && !w3c)?true:false;
  24. var ie5=(document.all && w3c)?true:false;
  25. var ns6=(w3c && navigator.appName.indexOf("Netscape")>=0)?true:false;
  26. var ie = (navigator.appVersion.indexOf("MSIE")>=0)?true:false;
  27. var px = (window.opera)?'':'px';
  28. var ids=new Array();
  29. var wWidth, wHeight, colHeight;
  30. var t='';
  31. var counter=0;
  32. var gx=new Array();
  33. var ga=new Array();
  34.  
  35. for(i=0;i<glyphCount;i++){
  36. gx[i]=Math.floor(Math.random()*glyphs.length);
  37. t+=(ns4)?'<layer name="glyph'+i+'" top="-'+glyphD+'" left="0" width="'+glyphD+'" height="'+glyphD+'" z-index="1">':'<div id="glyph'+i+'" style="position:absolute; top:-'+glyphD+'px; left:0px; width:'+glyphD+'px; height:'+glyphD+'px; z-index:1">';
  38. t+='<img src="'+glyphs[gx[i]]+'" width='+glyphD+' height='+glyphD+' name="g'+i+'" style="filter:alpha(opacity='+matrno+'); -moz-opacity:'+(matrno/100)+'">';
  39. t+=(ns4)?'</layer>':'</div>';
  40. }
  41. document.write(t);
  42.  
  43. for(i=0;i<glyphs.length;i++){
  44. ga[i]=new Image();
  45. ga[i].src=glyphs_b[i];
  46. }
  47.  
  48. function matrixInit(){
  49. getWindowDims();
  50. for(i=0;i<glyphCount;i++){
  51. ids[i]=(ns4)?document.layers['glyph'+i]:(ie4)?document.all['glyph'+i]:document.getElementById('glyph'+i);
  52. ids[i].gx=gx[i];
  53. }
  54. gx='';
  55. //setInterval('scrollGlyphs()',10*scrollSpeed);
  56. scrollGlyphs();
  57. }
  58.  
  59. function brighten(idnum,b){
  60. if (ie) document.images['g'+idnum].filters.alpha.opacity=(b)?matrbr:matrno; else document.images['g'+idnum].style.MozOpacity=((b)?matrbr:matrno)/100;
  61. }
  62.  
  63. function moveID(idnum,x,y){
  64. var id=ids[idnum];
  65. if(ns4)id.moveTo(x,y);
  66. else{
  67. id.style.left=x+px;
  68. id.style.top=y+px;
  69. }
  70. if(!disableColors){
  71. brighten(idnum,true);
  72. setTimeout('brighten('+idnum+',false)',scrollSpeed*1.3);
  73. }}
  74.  
  75. function getWindowDims(){
  76. wWidth=((ie4||ie5)&&!window.opera)? document.body.clientWidth:window.innerWidth;
  77. wHeight=((ie4||ie5)&&!window.opera)? document.body.clientHeight:window.innerHeight;
  78. colHeight=Math.min(Math.floor(wHeight/1.5/glyphD)-1,25);
  79. }
  80.  
  81. function scrollGlyphs(){
  82. var sx=((ie4||ie5)&&!window.opera)? document.body.scrollLeft:window.pageXOffset;
  83. var sy=((ie4||ie5)&&!window.opera)? document.body.scrollTop:window.pageYOffset;
  84. var pixx=Math.floor(Math.random()*wWidth/(glyphD+1))*glyphD+sx;
  85. var pixy=Math.floor(Math.random()*(wHeight-(colHeight*glyphD)))+sy;
  86. for(i=0; i<colHeight; i++){
  87. setTimeout('moveID('+counter+','+pixx+','+(pixy+glyphD*i)+')', scrollSpeed*i);
  88. counter=((counter+colHeight)>glyphCount)?0:counter+1;
  89. }
  90. setTimeout('scrollGlyphs()', scrollSpeed*colHeight/2);
  91. }
  92.  
  93. window.onload=matrixInit;
  94. window.onresize=getWindowDims;
  95.  
  96. </SCRIPT>
  97. <HTML>
  98. <!--mystarttag, START-->
  99. '); var glyphs=new Array(); document.write('
  100. <!--END-->
  101. <!--image, START -->
  102. '); glyphs[glyphs.length]="{images}"; document.write('
  103. <!--END-->
  104. </HTML>